package cn.tedu.oop;
/**测试多态成员的使用情况
 * 多态中使用父类成员变量
 * 方法的声明是父类的,方法体使用是子类的
 * 多态中,调用的静态方法是父类的,因为多态对象把自己看做父类类型,直接使用父类中的静态资源
 * */
public class TestDemo2 {
    public static void main(String[] args) {
        Dog2 d=new Dog2();
        System.out.println(d.sum);
        d.eat();

        Animal2 a=new Dog2();
        System.out.println(a.sum);
        a.eat();
        a.play();
        Animal2.play();
        d.play();
        Dog2.play();
    }
}
class Animal2{
    int sum=10;
    public void eat(){
        System.out.println("吃啥都行");
    }
    public static void play(){
        System.out.println("玩啥都行");
    }


}
class Dog2 extends Animal2{
    int sum=20;
   @Override
   /**不是一个重写的方法,自身恰巧在两个类中出现了一模一样的静态方法,
    * 静态方法也属于静态资源,属于类的,只有一份
    * 在哪个类定义,就作为哪个类的资源来使用,不存在重写的现象*/
    public void eat(){
        System.out.println("小狗爱吃肉包子");
    }

    public static void play(){
        System.out.println("小狗爱玩飞盘");
    }


}
